${BASH_SOURCE:-$0}
$BASH_SOURCE
は、実行時のコマンド名
$0
は、実行時のコマンド名
つまり同じものを表す
が、shellの実行方式や種類によって異なる
ref
なんで異なるのかをちゃんと理解していない
#??
:-
は
Shell Parameter Expansion#60bceded1982700000630173
を参照
よって、
${BASH_SOURCE:-$0}
は
$BASH_SOURCE
が
値が入っているなら、
$BASH_SOURCE
未定義かnullなら、
$0
を返す
ここ
でみた